
// import type { AxiosResponse } from "axios";
import axios from "axios";
import store from "@/store";

// const baseURL = import.meta.export const . = localVariable;

console.log(store, 'store==');

const service = axios.create({
  baseURL: 'http://127.0.0.1:5050/api/',
  timeout: 30000,
  headers: { "Content-Type": "application/json" },
  transformRequest: [function (data, headers) {
    // 对发送的 data 进行任意转换处理
    return data;
  }],
  validateStatus() {
    // 使用async-await，处理reject情况较为繁琐，所以全部返回resolve，在业务代码中处理异常
    return true;
  },
  transformResponse: [
    (data) => {
      if (typeof data === "string" && data.startsWith("{")) {
        // 对接收的 data 进行任意转换处理 这里转成对象
        data = JSON.parse(data);
      }
      return data;
    },
  ],
});



// 添加请求拦截器
service.interceptors.request.use((config) => {
  // console.log(config, 'config==');
  // const user =
  return config
}, (error) => {
  // 对请求错误做些什么 错误抛出到业务代码
  error.data = {};
  error.data.msg = "服务器异常,请联系管理员! "
  return Promise.reject(error);
});

// 添加响应拦截器
service.interceptors.response.use((response) => {
  // console.log(response, 'response==');
  // 2xx
  // 对响应数据做点什么
  const code = response.code;
  // if (code < 200 || code >= 300 || response.data.code !== 200) {
  //   // 返回错误信息....
  // }
  // console.log(response, 'response=========');
  return Promise.resolve(response?.data?.data || response?.data || response)
}, function (error) {
  // 超出 2xx 范围的状态码都会触发该函数。
  // 对响应错误做点什么
  return Promise.reject(error);
});


export default service